#ifndef CSGDIFFNODE_H
#define CSGDIFFNODE_H

#include "CSG/csgnode.h"

class CSGDiffNode : public CSGNode
{
public:
//    CSGDiffNode();
    CSGDiffNode(Expression& left, Expression& right);
    CSGDiffNode(CSGNode *left, Expression& right);
    CSGDiffNode(Expression &left, CSGNode *right);
    CSGDiffNode(CSGNode *left, CSGNode *right);

    virtual double eval(double x, double y, double z);
    // test
    virtual bool emptyTest(StarTestBox *box);
    virtual bool starTest(StarTestBox *box, double *pt);
    virtual bool complementStarTest(StarTestBox *box, double *pt);
    virtual bool ptInSet(double *pt);
};

#endif // CSGDIFFNODE_H
